//package org.wxd.excel.utils;
//
//import com.google.common.collect.Lists;
//
//import java.io.IOException;
//import java.nio.file.*;
//import java.nio.file.attribute.BasicFileAttributes;
//import java.text.MessageFormat;
//import java.util.List;
//
///**
// * Created by wangxd on 2016/11/2.
// */
//public class ExcelAnnoGeneratorHelper {
//    /**
//     * 生成@Excel注解
//     * @param packDirPath 根据指定的目录，查找该目录下的所有文件，生成注解
//     * @param annoStr 需要生成的注解如：	@ExcelCell(order = {0}),其中{0}为占位符
//     * @param packImport
//     */
//    public static void generExcelCellAnnotation(String packDirPath,String annoStr,String packImport){
//        try {
//            Files.walkFileTree(Paths.get(packDirPath),new SimpleFileVisitor<Path>(){
//                @Override
//                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
//                    if (file.endsWith(".java")) return FileVisitResult.CONTINUE;
//
//                    List<String> lines = Files.readAllLines(file);
//                    /*如果已经存在了则不需要加*/
//                    if(lines.parallelStream().filter(line -> line.contains("@ExcelCell")).count() > 0) return FileVisitResult.CONTINUE;
//
//                    List<String> resultLines = Lists.newArrayList();
//
//                    List<Integer> indexList = Lists.newArrayList();
//
//                    lines.stream().forEach(line -> {
//                        if (line.contains("package") && packImport != null){
//                            resultLines.add(line);
//                            resultLines.add(packImport);
//                        }else if (line.contains("private")){
//                            resultLines.add(MessageFormat.format(annoStr,indexList.size()));
//                            indexList.add(1);
//                            resultLines.add(line);
//                        }else{
//                            resultLines.add(line);
//                        }
//                    });
//                    Files.write(file,resultLines);
//                    return FileVisitResult.CONTINUE;
//                }
//            });
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//
//    public static void main(String[] args) {
//
//        ExcelAnnoGeneratorHelper.generExcelCellAnnotation(
//                "/Users/wangxd/Code/IDEA/SVN/report-center/report-center-webapp/src/main/java/com/dse/report/web/excel/dto/annual",
//                "\t@ExcelCell(order = {0})",
//                "import com.dse.report.base.excel.annotation.ExcelCell;");
//
//    }
//}
